home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer (Italian) 36 / PC Gamer IT CD 36 2-2.iso / VIGDEMO / data1.cab / Assets / scripts / manticore.e < prev    next >
Text File  |  1998-09-21  |  5KB  |  744 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446. int Initialize(string type)
  447. {
  448.     global int state = 0;
  449.     global real repeatTime = 1.00;
  450.     global string gProjType = "rocketmanticore";
  451.     global int gGravity = 0;
  452.     global int gBulletCount = 300;
  453.     global int gBulletPerShot = 6;
  454.     global int gClipSize = 5;
  455.     global int gLaunchCount = 0;
  456.     global real gTimeBetweenShots = 0.2;
  457.      global int gStartSound = 7;
  458.     global int gProgressSound = 18;
  459.     global int gEndSound = 27;
  460.     global int gReloadSound = -1;
  461.     global int gPrivileged;
  462.     global real gMass = 3.0;
  463.     Reset("dummy");
  464.     return 0;
  465.  
  466. }
  467.  
  468. int Reset(string dummy)
  469. {
  470.     Animate(thisObject,0,"fire");
  471.     wakeupTime = -1.0;
  472.     gPrivileged = 0;
  473.     SetStyle(thisObject,2);
  474.  
  475.     gBulletCount = gClipSize;
  476.     state = 0;
  477.     return 0;
  478. }
  479.  
  480. int SetBulletCount(int count)
  481. {
  482.     gBulletCount = count;
  483. }
  484.  
  485. int startsound(string soundname)
  486. {
  487.     gStartSound = GetSoundIndex(soundname);
  488.  
  489. }
  490.  
  491. int endsound(string soundname)
  492. {
  493.     gEndSound = GetSoundIndex(soundname);
  494.  
  495. }
  496.  
  497. int progresssound(string soundname)
  498. {
  499.     gProgressSound = GetSoundIndex(soundname);
  500.  
  501. }
  502.  
  503. int reloadsound(string soundname)
  504. {
  505.     gReloadSound = GetSoundIndex(soundname);
  506.  
  507. }
  508.  
  509. int projtype(string str)
  510. {
  511.     gProjType = str;
  512. }
  513.  
  514. int repeattime(string str)
  515. {
  516.     repeatTime = Str2Real(str);
  517.     return 0;
  518. }
  519.  
  520. int gravity(string flag)
  521. {
  522.     int value;
  523.     value = Str2Int(flag);
  524.  
  525.     gGravity = value;
  526.     SetCollidableProperties(thisObject,gGravity,0);
  527. }
  528.  
  529. int clipsize(string count)
  530. {    
  531.     gClipSize = Str2Int(count);
  532.     gBulletCount = gClipSize;
  533. }
  534.  
  535. int GetMaxAmmo(string dummy)
  536. {
  537.     ReturnValue(thisObject, gClipSize);
  538. }
  539.  
  540. int addammo(string count)
  541. {
  542.     int value = Str2Int(count);
  543.     gBulletCount = gBulletCount + value;
  544. }
  545.  
  546. int reload(string count)
  547. {
  548.     int add;
  549.     add  = Str2Int(count);
  550.     if (add > 0)
  551.     {
  552.         PlaySound(thisObject,gReloadSound);
  553.         gBulletCount += add;
  554.     }
  555. }
  556.  
  557.  
  558. int AmmoCount(string dum)
  559. {
  560.     ReturnValue(thisObject,gBulletCount);
  561. }
  562.  
  563. int Drop(string dummy)
  564. {
  565.     int returnBullet;
  566.     SetScale(thisObject,2.0);
  567.     PlaySound(thisObject,38);
  568.     SetStyle(thisObject,2);
  569.  
  570.     ReturnValue(thisObject,0);
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584. }
  585.  
  586. int Draw(string ammoCount)
  587. {
  588.     gBulletCount = Str2Int(ammoCount);
  589. }
  590.  
  591. int Pickup(string dummy)
  592. {
  593.     gPrivileged = 0;
  594.     ReturnValue(thisObject,gBulletCount);
  595.     gBulletCount = 0;    
  596. }
  597.  
  598. int Holster(string dummy)
  599. {
  600.     ReturnValue(thisObject,gBulletCount);
  601.     gBulletCount = 0;        
  602. }
  603.  
  604. int Colliders(string dummy) 
  605. {
  606.     
  607.     map::iterator ix;
  608.     map objInList;
  609.     int value;
  610.  
  611.     objInList = Collisions(thisObject,0,1,0);
  612.  
  613.     for (ix = begin(objInList) ;ix != end(objInList); ++ix) 
  614.     {
  615.         value = AddObjectTo(first(dereference(ix)),thisObject);
  616.         if (value != 0)
  617.         {
  618.             PlaySound(thisObject,35);
  619.             SetScale(thisObject,1.0);
  620.             break;
  621.         }
  622.     }
  623.     
  624.     return 0;
  625. }
  626.  
  627. int GetFireTime(string dummy)
  628. {
  629.     ReturnValueReal(thisObject,repeatTime);
  630.     return 0;
  631. }
  632.  
  633. int Fire(int flag)
  634. {
  635.     real time ;
  636.     int theGrenade;
  637.     real x;
  638.     real y;
  639.     real z;
  640.     real speedoffset;
  641.     int result = 0;
  642.     int i;
  643.     time = GetTime(thisObject);
  644.  
  645.      if (UnlimitedAmmo(thisObject) == 1)
  646.         gBulletCount = gClipSize;
  647.    if (state == 0) 
  648.     {
  649.         gLaunchCount = 0;
  650.         if (gBulletCount >= 1)
  651.         {
  652.             gPrivileged = 1;
  653.             FireSaveInfo(thisObject,1,gBulletCount,gMass);
  654.             FireCommand(thisObject);
  655.  
  656.             wakeupTime = time + repeatTime;
  657.             result = 1;
  658.         }
  659.         else
  660.         {
  661.             ParentReloadCommand(thisObject);
  662.         }
  663.     }
  664.     ReturnValue(thisObject,result);    
  665.     return result;
  666. }
  667.  
  668. int FireFulfill(int hit)
  669. {
  670.     real time;
  671.     time = GetTime(thisObject);
  672.     state = 2;
  673.     Animate(thisObject,1,"fire");
  674.     LaunchMissile(0);
  675.     ParentFire(thisObject);    
  676.     wakeupTime = time + repeatTime;
  677. }
  678.  
  679. int FireRocket(real x, real y, real z,int muzzle,int trail)
  680. {
  681.     int theGrenade;
  682.     theGrenade = MakeProjectile(thisObject,gProjType);
  683.  
  684.     if (theGrenade != 0)
  685.     {
  686.         Launch(thisObject,theGrenade,trail,20.0,y,x,z,0);
  687.         if (muzzle == 0)
  688.             LaunchEFX(thisObject,0,0);
  689.     }
  690. }
  691.  
  692.  
  693.  
  694.  
  695. int LaunchMissile(int input)
  696. {
  697.     int theGrenade;
  698.     real x;
  699.     real y;
  700.     real z;
  701.  
  702.     x = 0.0;
  703.     y = 3.0;
  704.  
  705.     gBulletCount -= gBulletPerShot;
  706.     z = 1.1;
  707.     x = -1.1;
  708.     FireRocket(x,y,z,1,0);
  709.     z = 0.0;
  710.     x = -1.1;
  711.     FireRocket(x,y,z,0,1);
  712.     z = -1.1;
  713.     x = -1.1;
  714.     FireRocket(x,y,z,0,0);
  715.     z = 1.1;
  716.     x = 1.1;
  717.     FireRocket(x,y,z,0,1);
  718.     z = 0.0;
  719.     x = 1.1;
  720.     FireRocket(x,y,z,0,0);
  721.     z = -1.1;
  722.     x = 1.1;
  723.     FireRocket(x,y,z,0,1);
  724.  
  725.     gLaunchCount = 6;
  726. }
  727.  
  728. int TimedEvent(int input)
  729. {
  730.     real time;
  731.     time = GetTime(thisObject);
  732.  
  733.  
  734.  
  735.  
  736.         Animate(thisObject,0,"fire");    
  737.         state = 0;
  738.         wakeupTime = -1.0;    
  739.  
  740.     return 0;
  741. }
  742.  
  743.  
  744.